package sliver.service;

import java.io.File;
import java.io.Serializable;
import java.util.List;

import sliver.entity.Category;
import sliver.entity.Goods;
import sliver.entity.Shopper;

public interface ShopManager {
	
	public List<Goods> listMyGoods(Serializable shopperId);
	
	public boolean addGoods(String uploadDerctory, String name, 
			File minImage, String minImageFileName, File midImage, String midImageFileName, 
			File maxImage, String maxImageFileName, List<String> types, List<Double> prices, List<Boolean> defauls,
			String description, List<Long> categoryIds, Shopper shopper);
	
	public boolean removeGoods(Serializable goodsId);
	
	public boolean editGoods(Serializable goodsId, String uploadDerctory, String name, String imageName, 
			File minImage, String minImageFileName, File midImage, String midImageFileName, 
			File maxImage, String maxImageFileName, Double price, String description, 
			Serializable mainCategoryId);
	
	public Goods detail(Serializable goodsId);
	
	
	public List<Category> obtainShopCategory(Serializable shopperId, Long parentId);
	
	public List<Category> obtainShopRootCategory(Shopper shopper);
	
	public List<Category> obtainShopRootCategory(Serializable shopperId);
	
	public Category obtainCategory(Serializable categoryId);
	
	public Category removeCategory(Serializable categoryId);
	
	public Category editCategory(Shopper shopper); 
	
	public Serializable saveCategory(Shopper shopper, String categoryName, Long parentId);
}
